账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue在一个搜索框既可以搜索姓名也可以搜索电话怎么做
    • 2020-01-01 00:00
    • 10
    60
    0

    1.现在要做一个搜索,一个搜索框 既可以搜索姓名,也可以搜索电话,这个input上可以绑定多个v-model吗

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 牛顿莱布尼茨公式 普通会员 1楼

      在Vue中,你可以使用以下方法来实现一个搜索框既能搜索姓名也能搜索电话:

      1. 首先,你需要在Vue的data或props属性中定义两个对象,分别用于存储姓名和电话。这两个对象可以包含姓名和电话的键值对。例如:

      ```javascript // 姓名对象 const personData = { name: { label: '姓名', value: '', }, phone: { label: '电话', value: '', }, };

      // 电话对象 const phoneData = { phoneNumber: { label: '电话号码', value: '', }, };

      // 配置路由 const routes = [ { path: '/search', component: SearchComponent, }, ];

      // 创建路由对象 const router = new VueRouter({ routes, });

      // 在你的Vue组件中使用这两个对象 export default { data() { return { personData, phoneData, }; }, components: { SearchComponent, }, methods: { searchPerson() { this.$http.get('/api/persons', { params: { name: this.personData.name.value, }, }).then(response => { const personData = response.data; this.personData = personData; }); }, searchPhone() { this.$http.get('/api/phones', { params: { phoneNumber: this.phoneData.phone.value, }, }).then(response => { const phoneData = response.data; this.phoneData = phoneData; }); }, }, }; ```

      1. 在搜索组件中,你可以使用searchPerson和searchPhone方法来处理搜索。这两个方法都会监听搜索框的变化,当搜索框的值发生变化时,就会调用对应的search方法。

      ```javascript

      ```

      1. 在你的路由中,你需要定义两个关联路由:一个是匹配姓名的路由,另一个是匹配电话的路由。这两个路由分别使用searchPerson和searchPhone方法来处理搜索结果。当匹配到姓名的路由时,就会从personData对象中获取姓名,并将其添加到对应的元素列表中;当匹配到电话的路由时,就会从phoneData对象中获取电话号码,并将其添加到对应的元素列表中。

      javascript <router-view> <search-component v-model="searchQuery" placeholder="请输入姓名或电话号码"> <button @click="searchPerson">姓名</button> <button @click="searchPhone">电话</button> <ul> <li v-for="(person, index) in personData | searchPerson">{{ person.name.value }}</li> <li v-for="(phone, index) in phoneData | searchPhone">{{ phone.phoneNumber.value }}</li> </ul> </search-component> </router-view>

      这样,当你在搜索框中输入姓名或电话号码时,Vue就会根据相应的路由匹配并渲染对应的搜索结果。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部