首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果选择其他输入字段,则livewire安装/保存输入字段

如果选择其他输入字段,则livewire安装/保存输入字段
EN

Stack Overflow用户
提问于 2022-06-12 18:08:04
回答 1查看 122关注 0票数 0

如果选择了“别人”,我如何挂载/保存输入字段值?

主计长:

代码语言:javascript
运行
AI代码解释
复制
public Applicant $applicant;

public $eligibilityInput;

public function mount(Applicant $applicant)
{
    $this->applicant = $applicant;
    if ($this->applicant->eligibility === 'Others'){
        $this->applicant->eligibility = $this->eligibilityInput;
    }
}

刀片:

代码语言:javascript
运行
AI代码解释
复制
<div class="form-group {{ $errors->has('applicant.eligibility') ? 'invalid' : '' }}">
    <label class="form-label required">{{ trans('cruds.applicant.fields.eligibility') }}</label>
    <select class="form-control" wire:model="applicant.eligibility">
        <option value="null" disabled>{{ trans('global.pleaseSelect') }}...</option>
        <option value="option1" >option1</option>
        <option value="option2" >option2</option>
        <option value="Others" >Others</option>
    </select>
    <div class="validation-message">
        {{ $errors->first('applicant.eligibility') }}
    </div>
    <div class="help-block">
        {{ trans('cruds.applicant.fields.eligibility_helper') }}
    </div>
    @if ($applicant->eligibility === 'Others')
        <div class="form-group"  style="display: block;">
            <label class="form-label required" for="eligibilityInput">Input Eligibility</label>
            <input class="form-control" type="text" wire:model="eligibilityInput" name="eligibilityInput" id="eligibilityInput" style="text-transform:uppercase">
        </div>
    @endif
</div>

提交时,当我需要Others作为输入字段值时,它将被保存。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-12 22:46:38

由于您不想保存Others值,但是您使用它来签入视图,所以在以mount()输出数据之前,以及在保存数据之前,您必须对数据进行稍微的操作。

我不知道剩下的代码是什么样子,所以这里有一些示例代码,我假设数据是在调用save()方法时保存的。

在这里,我们最初将来自eligibility属性和eligibility属性的输入值设置为Others,如果该值不在select中的一个有效选项中。

然后,当您保存数据时,您需要进行相反的操作--如果eligibility等于Others,则从输入中保存值。

如果可以从select中选择更多选项,则需要在!in_array()中更新mount()中的数组。

代码语言:javascript
运行
AI代码解释
复制
public function mount(Applicant $applicant)
{
    $this->applicant = $applicant;
    
    // Set the value of the input and fake the "Others" option selection
    if ($this->applicant->eligibility && !in_array($this->applicant->eligibility, ['option1', 'option2'])) {
        $this->eligibilityInput = $this->applicant->eligibility;
        $this->applicant->eligibility = 'Others';
    }
}

public function save()
{
    // When the value is Others, we actually save the input instead
    if ($this->applicant->eligibility === 'Others') {
        $this->applicant->eligibility = $this->eligibilityInput;
    }
    $this->applicant->save();
}

如果保存后没有重定向,则可能应该在保存后重置sate,就像在mount()中那样,这样用户就不会有任何变化,如下所示

代码语言:javascript
运行
AI代码解释
复制
public function mount(Applicant $applicant)
{
    $this->applicant = $applicant;

    // Set the value of the input and fake the "Others" option selection
    if ($this->applicant->eligibility && !in_array($this->applicant->eligibility, ['option1', 'option2'])) {
        $this->eligibilityInput = $this->applicant->eligibility;
        $this->applicant->eligibility = 'Others';
    }
}

public function save()
{
    // When the value is Others, we actually save the input instead
    $resetState = false;
    if ($this->applicant->eligibility === 'Others') {
        $this->applicant->eligibility = $this->eligibilityInput;
        $resetState = true;
    }

    $this->applicant->save();

    if ($resetState) {
        $this->applicant->eligibility = 'Others';
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72597146

复制
相关文章
MyBatis Plus 常用 API 全套教程,看完没有不懂的
注意:-- 真实开发中往往都会有这四个字段,version(乐观锁)、deleted(逻辑删除)、gmt_create(创建时间)、gmt_modified(修改时间)
芋道源码
2021/01/08
1.1K0
MyBatis Plus 常用 API 全套教程,看完没有不懂的
进阶!MyBatis-Plus(基于 Springboot 演示)
这一篇从一个入门的基本体验介绍,再到对于 CRUD 的一个详细介绍,在介绍过程中将涉及到的一些问题,例如逐渐策略,自动填充,乐观锁等内容说了一下,只选了一些重要的内容,还有一些没提及到,具体可以参考官网,简单的看完,其实会发现,如果遇到单表的 CRUD ,直接用 MP 肯定舒服,如果写多表,还是用 Mybatis 多点,毕竟直接写 SQL 会直观一点,MP 给我的感觉,就是方法封装了很多,还有一些算比较是用的插件,但是可读性会稍微差一点,不过个人有个人的看法哇
BWH_Steven
2020/10/10
6560
Mybatis-plus常用API全套教程,看完没有不懂的
注意:-- 真实开发中往往都会有这四个字段,version(乐观锁)、deleted(逻辑删除)、gmt_create(创建时间)、gmt_modified(修改时间)
业余草
2020/12/29
4600
Mybatis-plus常用API全套教程,看完没有不懂的
注意:-- 真实开发中往往都会有这四个字段,version(乐观锁)、deleted(逻辑删除)、gmt_create(创建时间)、gmt_modified(修改时间)
java进阶架构师
2021/01/20
4200
Mybatis-plus常用API全套教程,看完没有不懂的
Mybatis-plus常用API全套教程,看完没有不懂的
注意:-- 真实开发中往往都会有这四个字段,version(乐观锁)、deleted(逻辑删除)、gmt_create(创建时间)、gmt_modified(修改时间)
Java识堂
2021/09/27
3521
Mybatis-plus常用API全套教程,看完没有不懂的
注意:-- 真实开发中往往都会有这四个字段,version(乐观锁)、deleted(逻辑删除)、gmt_create(创建时间)、gmt_modified(修改时间)整理了一份272页MybatisPDF文档
程序员白楠楠
2021/01/19
7220
SpringBoot中的自动代码生成 - 基于Mybatis-Plus
大家好啊,我是汤圆,今天给大家带来的是《SpringBoot中的自动代码生成 - 基于Mybatis-Plus》,希望对大家有帮助,谢谢
汤圆学Java
2021/04/22
1.1K0
基于docker可使用的api
https://github.com/spotify/docker-client
cn華少
2018/09/11
8100
Envoy 基于 API 的动态配置
当在 Envoy 配置中定义了上游集群后,Envoy 需要知道如何解析集群成员,这就是服务发现。端点发现服务(EDS)是 Envoy 基于 gRPC 或者用来获取集群成员的 REST-JSON API 服务的 xDS 管理服务。在本节我们将学习如何使用 REST-JSOn API 来配置端点的自动发现。
我是阳明
2020/06/30
3.2K1
基于GAN的自动驾驶汽车语义分割
语义分割是计算机视觉中的关键概念之一,语义分割允许计算机通过按类型对图像中的对象进行颜色编码。GAN建立在基于真实内容的基础上复制和生成原始内容的概念上,这使它们适合于在街景图像上进行语义分割的任务,不同部分的分割使在环境中导航的代理能够适当地发挥作用。
小白学视觉
2021/03/30
1K0
基于GAN的自动驾驶汽车语义分割
基于curl 的zabbix API调用
1,认证并取得加密字段 curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0","method":"user
小小科
2018/05/04
3.1K0
基于curl 的zabbix API调用
基于TRIZ突破汽车芯片技术瓶颈
随着智能化和自动化的发展,汽车行业对于芯片技术越来越依赖。然而,汽车芯片技术发展遇到了瓶颈,如何突破这一瓶颈,成为了业内热议的话题。
用户9972271
2023/05/18
2800
基于 SpringBoot + Vue3.2 + Element Plus 的后台管理系统
TANSCI 基于 SpringBoot + Vue3.2 + Element Plus 的后台管理系统。
默存
2022/06/24
1.5K0
基于 SpringBoot + Vue3.2 + Element Plus 的后台管理系统
点击加载更多

相似问题

UIButton返回时丢失文本标签

21

xamarin表单中的StackLauout标签文本对齐

12

用标签xamarin表格对文本进行对齐

22

对齐页的标签和文本框

44

Xamarin窗体-打开标签时打开的多页

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文