"萌新" 2022-05-31 17:10 采纳率: 100%
浏览 34
已结题

用es6箭头函数思想,怎样实现id和name同时满足json数组中的数据


<body>
        <div id="app">
            <h2>查询</h2>
            <hr/>
            <input type="text" v-model="id"/>
            <input type="text" v-model="name"/>
            <button @click="search">搜索</button>
            <hr/>
            <p>
                查询结果如下:
                {{this.$store.getters.search}}
                <hr/>
                以无序列表方式显示:<br/>
                <ul>
                    <li v-for="item in this.$store.state.todos">{{item}}</li>
                </ul>
            </p >
        </div>
        <script>
            //创建状态管理对象
            const store=new Vuex.Store({
                state:{
                    todos:[
                        {id:123,name:'小明',flag:true},
                        {id:123,name:'小红',flag:false},
                        {id:125,name:'jack',flag:true},
                        {id:126,name:'张三',flag:true},
                        {id:125,name:'rose',flag:true}
                    ],
                    id:0
                },
                mutations:{
                    search(state,id){
                        state.id=id
                    }
                },
                getters:{
                    search:state=>{
                        return state.todos.filter(todo=>todo.id==state.id)
                    }
                }
            })
            
            var vm=new Vue({
                el:'#app',
                data:{
                    id:'',
                    name:''
                },
                store,
                methods:{
                    search(){
                        this.$store.commit('search',this.id)
                    }
                }
            })
            
        </script>
    </body>

  • 写回答

2条回答 默认 最新

  • Heerey525 前端领域新星创作者 2022-06-01 00:04
    关注
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      <body>
        <div id="app">
            <h2>查询</h2>
            <hr/>
            <input type="text" v-model="id"/>
            <input type="text" v-model="name"/>
            <button @click="search">搜索</button>
            <hr/>
            <p>
                查询结果如下:
                {{this.$store.getters.search}}
                <hr/>
                以无序列表方式显示:<br/>
                <ul>
                    <li v-for="item in this.$store.state.todos">{{item}}</li>
                </ul>
            </p >
        </div>
        <script crossorigin="anonymous" integrity="sha512-XdUZ5nrNkVySQBnnM5vzDqHai823Spoq1W3pJoQwomQja+o4Nw0Ew1ppxo5bhF2vMug6sfibhKWcNJsG8Vj9tg==" src="https://lib.baomitu.com/vue/2.6.14/vue.min.js"></script>
        <script crossorigin="anonymous" integrity="sha512-Tkxwo8dZEZTmje5QT9uodCqe2XGbZdBXU8uC4nskBt0kwR99Anzkz8JCSMByfoqjLTHcTuIB8fsmED3b9Ljp3g==" src="https://lib.baomitu.com/vuex/3.6.2/vuex.min.js"></script>
        <script>
            //创建状态管理对象
            const store=new Vuex.Store({
                state:{
                    todos:[
                        {id:123,name:'小明',flag:true},
                        {id:123,name:'小红',flag:false},
                        {id:125,name:'jack',flag:true},
                        {id:126,name:'张三',flag:true},
                        {id:125,name:'rose',flag:true}
                    ],
                    id:0,
                    name:""
                },
                mutations:{
                    setId(state,id){
                        state.id=id
                    },
                    setName(state,name){
                        state.name=name
                    }
                },
                getters:{
                    search:state=>{
                        return state.todos.filter(todo=>todo.id==state.id && todo.name==state.name)
                    }
                }
            })
            
            var vm=new Vue({
                el:'#app',
                data:{
                    id:'',
                    name:''
                },
                store,
                methods:{
                    search(){
                        this.$store.commit('setId',this.id)
                        this.$store.commit('setName',this.name)
                    }
                }
            })
            
        </script>
    </body>
    
    </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月1日
  • 已采纳回答 6月1日
  • 创建了问题 5月31日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同