Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在elementUI级联器中未正确显示_Javascript_Vue.js_Element Ui - Fatal编程技术网

Javascript 在elementUI级联器中未正确显示

Javascript 在elementUI级联器中未正确显示,javascript,vue.js,element-ui,Javascript,Vue.js,Element Ui,我使用elementUI的级联选择器来显示数据,我根据官方文档编写了这段代码 <el-cascader v-model="address" :options="addressOptions" :props="{expandTrigger: 'hover'}" ></el-cascader> data() { return { address: '', addressOptions: [

我使用elementUI的级联选择器来显示数据,我根据官方文档编写了这段代码

  <el-cascader
    v-model="address"
    :options="addressOptions"
    :props="{expandTrigger: 'hover'}"
  ></el-cascader>

  data() {
    return {
      address: '',
      addressOptions: [
        {
          value: 'Beijing',
          label: 'Beijing',
          children: this.getOptions("Beijing")
        },
        {
          value: 'Shanghai',
          label: 'Shanghai',
          children: this.getOptions("Shanghai")
        }
      ]
    }
  },
  methods: {
    getOptions(val) {
      let res = [];
      for(let i=1; i<=5; i++) {
        let floor = Object.create(null);
        floor.value = i;
        floor.label = i;
        floor.children = [];
        for(let j=1; j<=5; j++) {
          let obj = Object.create(null);
          obj.value = j < 10 ? `0${j}` : `${j}`;
          obj.label = j < 10 ? `0${j}` : `${j}`;
          floor.children.push(obj);
        }
        res.push(floor);
      }
      return res;
    }
  }

数据(){
返回{
地址:'',
地址选项:[
{
价值观:“北京”,
标签:"北京",,
儿童:这是“北京”的
},
{
价值观:“上海”,
标签:"上海",,
儿童:这是“上海”
}
]
}
},
方法:{
获取选项(val){
设res=[];

对于(设i=1;i我想我知道问题是什么,当您单击具有以下层次结构Shanghai>3>03的选项时,库自上而下搜索03的值所在位置。03所在的第一个层次结构是Beijing>1>03。因此它显示了错误的标签。这似乎是库的问题(或者他们就是这样设计的)因为当您使用handleChange方法并执行console.log时,它会正确打印值

为了解决这个问题,你可以有你想要的标签,但值必须是所有选项的唯一值。类似“上海+3+03”的值可以是值,这样你就可以拆分和恢复原始值

检查一下工作小提琴

getOptions(val){
设res=[];

对于(设i=1;i我想我知道问题是什么,当您单击具有以下层次结构Shanghai>3>03的选项时,库自上而下搜索03的值所在位置。03所在的第一个层次结构是Beijing>1>03。因此它显示了错误的标签。这似乎是库的问题(或者他们就是这样设计的)因为当您使用handleChange方法并执行console.log时,它会正确打印值

为了解决这个问题,你可以有你想要的标签,但值必须是所有选项的唯一值。类似“上海+3+03”的值可以是值,这样你就可以拆分和恢复原始值

检查一下工作小提琴

getOptions(val){
设res=[];

对于(假设i=1;我按照你说的解决方案尝试了,但仍然不起作用。你能演示一下吗?谢谢。@cdoshiYou是对的!谢谢。我用正则表达式格式化数据。@cdoshiI按照你说的解决方案尝试了,但仍然不起作用。你能演示一下吗?谢谢。@cdoshiYou是对的!谢谢。我也支持我们。)使用正则表达式格式化数据。@cdoshi
  // Can be displayed normally
  // obj.value = j < 10 ? `0${j}${val}` : `${j}${val}`;
  // obj.label = j < 10 ? `0${j}${val}` : `${j}${val}`;

  // This cannot be displayed normally.
  obj.value = j < 10 ? `0${j}` : `${j}`;
  obj.label = j < 10 ? `0${j}` : `${j}`;
   getOptions(val) {
     let res = [];
  for(let i=1; i<=5; i++) {
    let floor = Object.create(null);
    floor.value = val + '+' + i;
    floor.label = i;
    floor.children = [];
    for(let j=1; j<=5; j++) {
      let obj = Object.create(null);
      // Can be displayed normally
      // obj.value = j < 10 ? `0${j}${val}` : `${j}${val}`;
      // obj.label = j < 10 ? `0${j}${val}` : `${j}${val}`;
      // This cannot be displayed normally.
      obj.value = val + '+' + i + '+' + j;
      obj.label = j < 10 ? `0${j}` : `${j}`;
      floor.children.push(obj);
    }
    res.push(floor);
 }
 return res;
}