whole_func_string: function List(init = [], Type, options = {}) {
    classCallCheck(this, List)
    const arr = observable.array([], options)
    ObservableArray.apply(this, [[], arr.$mobx.enhancer])
  
    addHideProps(this, '_Type', Type)
    this.assign(init)
  }
func_code_string: function List(init = [], Type, options = {}) {
    classCallCheck(this, List)
    const arr = observable.array([], options)
    ObservableArray.apply(this, [[], arr.$mobx.enhancer])
  
    addHideProps(this, '_Type', Type)
    this.assign(init)
  }
func_documentation_string: List 定义数组类型，非常适合于定义 Modal 后，使用`assign`方法一次性赋值
  @typedef List
  @public
  @param init {any[]}
  @param Type {Function}
  @param options {object}
  @constructor
  @example
  
  class Model extends Root {
  \@observable a = 'xyz'
  \@observable b = 'abc'
  }
  
  const list = List.create([{ a: 'xbb' }, { b: 'hhh' }], Model)
  
  list[0] instanceof Model === true
  list[1] instanceof Model === true
  
  list.assign([{ a: 'xxx' }])
  list[0] instanceof Model === true
  list.length === 1